1. Field of the Invention
This invention relates to computer implemented techniques for translating high order complex geometry from the computer aided design (CAD) model to a surface based combinatorial geometry (SBCG) format such as commonly used in nuclear radiation transport, optical design, thermal radiation transport, visual scene rendering or other general ray-tracing applications.
2. Description of the Related Art
The development of geometrical descriptions of hardware in CAD systems is fundamentally different from the concerns in describing the same geometry in the context of radiation transport and other ray-tracing applications. Typically, CAD systems are intended to make it easy to build up and modify complex assemblies based on the design intent of the mechanism. Radiation transport codes, on the other hand, are solely concerned with the motion of energetic particles through matter; neither the design intent nor the mechanical purpose of a part has any significance in this context. To analyze the effects of radiation on systems that were designed using CAD software, those designs must be translated from their native form into a form that is compatible with the requirements of standard radiation transport tools.
While the details of specific commercial CAD geometry data structures are typically proprietary (aside from the standard output formats such as IGES, ACIS and STEP), it is sufficiently illustrative to consider Constructive Solid Geometry (CSG) as a means of building up complicated parts and assemblies from simple geometrical constructs. In CSG, parts are typically designed by performing simple operations such as translation, rotation and scaling on finite primitive solids such as spheres, cylinders, and boxes. Furthermore, objects can be modified in combination by the use of Boolean operators. The set of Boolean operations includes taking the union or intersections of two sets of objects, as well as subtracting the space associated with one set of objects from the solid material associated with another. A simple part 10 comprising a slot 12 having rounded ends 14 formed in abase 16 is shown in FIGS. 1a and 1b. In a CSG framework, this object might be created by instantiating a box that makes up the base of the part, creating two cylinders that comprise the rounded ends of the slot, and next creating a box that joins the two cylinders. Boolean operations can then be performed to join the cylinders with their aligned box, and subtract that union from the original base, leaving the part as depicted. In this framework, very few operations are required to describe rather complicated geometrical shapes. This ability to use successive sets of simple operations to build very complex shapes is rather evocative of the machining process. In fact, the CSG method grew out of generations of 3-D CAD systems that began with the set of primitives familiar to 2-D draftsmen, namely line segments and curves.
Unlike CAD geometry, the dominant paradigm for radiation transport geometry has remained largely unchanged for the last three decades. When the first formulations of the major radiation transport codes were originally proposed by physicists at the national laboratories, minimizing the fraction of the computation cycles devoted to geometry processing was crucial. The computers at the time were capable only of tens of floating-point operations per second, so processing nuclear reaction computations in statistically significant numbers required extremely streamlined geometry calculations.
The solutions that physicists at Lawrence Livermore National Laboratory (LLNL), and Los Alamos National Laboratory (LANL) derived to format data for use in radiation transport codes were, not coincidentally, conceptually the same. The TART (LLNL) and MCNP (LANL) codes use unbounded analytical surfaces to simply bound regions in space. Both codes have input decks that list all the analytical surface definitions, each with a unique index for identification purposes, and further list each unique region of space as a simple sub-list of the surface indices which comprise the boundaries of the region. These surface indices are signed positive or negative based on an arbitrary convention for whether the region (commonly referred to as a cell or zone) of interest lies on the interior or exterior of the analytic surface.
Analytic surfaces have the unique property that a simple closed form equation will yield the surface's points of intersection with an arbitrarily placed vector. Consequently, if the geometry is initially defined by analytic surfaces, the need for any subsequent computations to recover analytic form can be eliminated. Furthermore, having the zones defined in terms of only the signed bounding surfaces minimizes the necessary computations to determine when a particle might leave a zone along any particular trajectory. So the geometry paradigm in radiation transport codes consists of unbounded analytic surfaces knitted together by zone definitions in simple intersection logic (e.g. a well-posed zoning statement). This is referred to as surface-based combinatorial geometry (SBCG). The analytic surface libraries vary from code to code, but typically include, at a minimum, spheres, cylinders, planes, and cones. The definition of such surfaces includes information to translate, rotate and scale them in space.
Current practice to translate the high order complex geometry from the computer aided design (CAD) model to the SBCG format is laborious, time consuming and error prone. Quite literally engineers are provided with CAD drawings of the complex parts and use a ruler and protractor to determine the equations for the analytic surfaces that make up each part. Subsequently, they determine the zoning statement using hand-drawn sketches and trial and error methodology. Returning to the example part, the list of analytic surfaces 20 includes both bounding surfaces 22 (S1-S8) and ambiguity surfaces 24 (S9-S10) which can be used to define zones Z1, Z2, Z3 and Z4 as shown in FIG. 2a for part 10 via a well-posed zoning statement 26 as shown in FIG. 2b required for the SBCG format. This process takes many hours for each part and is prone to human error. A single error can create an ill-posed zoning statement, hence an invalid translation. The complexity of manual translation increases dramatically with complex 3-D parts.
There exists an acute need for a computer implemented process for translating high order complex geometry from the CAD format it was created in to a SBCG format. Such an automated translation would be useful not only in nuclear radiation transport applications but also optical design, stray light analysis, thermal radiation transport, visual scene rendering and other general ray-tracing applications.